//  https://www.luogu.com.cn/problem/P2758

#include <iostream>
using namespace std;

string a, b;
const int N = 2010;
int dp[N][N];

int main()
{
	cin >> a >> b;
	a = " " + a, b = " " + b;
	int n = a.size(), m = b.size();

	for (int i = 0;i <= n;i++)
		dp[i][0] = i;
	for (int j = 1;j <= m;j++)
		dp[0][j] = j;

	for (int i = 1;i <= n;i++)
	{
		for (int j = 1;j <= m;j++)
		{
			if (a[i] == b[j])
				dp[i][j] = dp[i - 1][j - 1];
			else
				dp[i][j] = min(dp[i][j - 1], min(dp[i - 1][j], dp[i - 1][j - 1])) + 1;

		}
	}
	cout << dp[n][m] << endl;
	return 0;
}